/**
  * 面板mediator基类
  */
class BaseMediator extends puremvc.Mediator implements puremvc.IMediator {
    public ui: eui.Component = null;//UI容器
    public constructor(mediatorName: string = "", viewComponent: Object = null) {
        super(mediatorName, viewComponent);
    }

    /**
    * 添加面板方法
    * panel       		面板
    *ChildIndex         层级
    * effectType        0：没有动画 1:从中间轻微弹出 2：从中间猛烈弹出  3：从左向右 4：从右向左 5、从上到下 6、从下到上
    * dark        		背景是否变黑
    *isClick            背景是否可点击关闭
    */
    public showUI(ui: eui.Component, ChildIndex: number = 0, effectType: number = 0, dark: boolean = false, isClick: boolean = true): void {
        if (this.ui && this.ui.parent) {
            this.closePanel(0)
        }
        this.ui = ui;
        this.initUI();
        this.initData();
        PopUpManager.addPopUp(ui, ChildIndex, effectType, dark, isClick, this);
    }

    /**
    * 移除面板方法
    * panel       		面板
    * effectType        0：没有动画 1:从中间缩小消失 2：  3：从左向右 4：从右向左 5、从上到下 6、从下到上
    */
    public closePanel(effectType: number = 0): void {
        PopUpManager.removePopUp(this.ui, effectType, this);
    }

	/**
	 * 初始化面板ui
	 */
    public initUI(): void {

    }


	/**
	 * 初始化面板数据
	 */
    public initData(): void {

    }
	/**
	 * 面板关闭后需要销毁的对象
	 */
    public destroy(): void {

    }
}